package br.com.velp.sudecap.dao;

import br.com.velp.sudecap.dto.ParametrosComunsDTO;
import br.com.velp.sudecap.entidade.Assunto;
import java.util.List;
import org.hibernate.criterion.Order;

/**
 * <sumario>
 * <objetivo> "Rastreabilidade" </objetivo>
 * <autor> EDUARDO SANTOS DE OLIVEIRA </autor>
 * <versao> 1.0.0.0 </versao>
 * <data_criacao> 18.12.2013 </data_criacao>
 * <data_ultima_alteracao> N/A </data_ultima_alteracao>
 * <requisitos_afetados> RF003.02 - LISTAR ASSUNTOS 
 *                       RF003.03 - CADASTRAR ASSUNTOS 
 * </requisitos_afetados>
 * <descricao> Interface Responsável Pelas 
 *             Operações de CRUD Referentes ao Contexto de 
 *             Assuntos
 * </descricao>
 * </sumario>
 */
public interface AssuntoDAO extends GenericCrudDAO<Assunto> {
    
    public int contarAssuntos(ParametrosComunsDTO parametros);
    
    public List<Assunto> buscarAssuntosPaginados(int firstResult, 
            int maxResults, ParametrosComunsDTO parametros, Order order);
    
    public boolean isAssuntoJaCadastrado(Assunto assunto);
    
}
